1. Field of the Invention
The present invention relates to a method of transmitting a packet from a computer processing unit (CPU) to any port on a network device and more particularly to a method of transmitting an unmodified packet to a port specified by the CPU.
2. Description of the Related Art
A switching system may include one or more network devices, such as a Ethernet switching chip, each of which includes several modules that are used to process information that is transmitted through the device. Specifically, the device includes an ingress module, a Memory Management Unit (MMU) and an egress module. The ingress module includes switching functionality for determining to which destination port a packet should be directed. The MMU is used for storing packet information and performing resource checks. The egress module is used for performing packet modification and for transmitting the packet to at least one appropriate destination port. One of the ports on the device may be a CPU port that enables the device to send and receive information to and from external switching/routing control entities or CPUs.
According to current architecture, the device includes input ports for receiving packets from external modules and/or CPUs. All information entering the device from any one of these ports is transmitted to the ingress module where switching logic is applied to the packet to determine to which port the packet should be directed. After the ingress module determines to which port the packet should be directed, the packet is modified with the appropriate switching information and the packet is transmitted to the destination port identified by the ingress module through the MMU and the egress module.
However, a packet entering the device from the CPU may already include destination port information that identifies to which port the packet should be directed. As such, if the packet is processed in the ingress module, the ingress module may provide a different destination port from the destination port that is already identified in the packet. This will in effect cause the packet to be routed to the destination port provided by the ingress module. Furthermore, a packet may need to be transmitted from the CPU to a specific destination port without having the internal processing, switching and/or modification functions of the device applied to the packet. As such, there exists a need for providing a device that transmits an unmodified and unconstrained packet to a destination port specified by the CPU, wherein the packet is not subjected to any switching or drops, other than resource drops in the device.